package com.br.negocio.entidades;

import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;

public enum PacoteEnum {
	PACOTE_SUPER_HD("pacoteSuperHd", "Pacote Super HD", "59.90", false), //
	PACOTE_ULTRA_HD("pacoteUltraHd", "Pacote Ultra HD", "89.90", false), //
	PACOTE_ULTIMATE_HD("pacoteUltimateHd", "Pacote Ultimate HD", "129.90", true), //
	TELECINE_LIGHT("telecineLight", "Telecine Light", "24.90", false), //
	TELECINE("telecine", "Telecine", "39.90", true), //
	HBO_DIGITAL("hboDigital", "HBO Digital", "24.90", false), //
	HBO_MAX_DIGITAL("hboMaxDigital", "HBO Max Digital", "34.90", true), //
	COMBATE("combate", "Combate", "49.90", true), //
	PACOTE_ESPORTES("pacoteEsportes", "Pacote Esportes", "19.90", true), //
	INTERNACIONAL("internacional", "Pacote Internacional", "19.90", true), //
	SEXY_HOT("sexyHot", "Sexy Hot", "34.90", true);

	private String codigo;
	private String descricao;
	private String preco;
	private boolean ativo;

	private PacoteEnum(String codigo, String descricao, String preco,
			boolean ativo) {
		this.codigo = codigo;
		this.descricao = descricao;
		this.preco = preco;
		this.ativo = ativo;
	}

	public String getCodigo() {
		return codigo;
	}

	public String getDescricao() {
		return descricao;
	}

	public BigDecimal getPreco() {
		return new BigDecimal(preco);
	}

	public boolean isAtivo() {
		return ativo;
	}

	public static final List<PacoteEnum> getPacotesPrincipais() {
		return Arrays.asList(PACOTE_SUPER_HD, PACOTE_ULTRA_HD,
				PACOTE_ULTIMATE_HD);
	}

	public static final List<PacoteEnum> getPacotesTelecine() {
		return Arrays.asList(TELECINE_LIGHT, TELECINE);
	}

	public static final List<PacoteEnum> getPacotesHbo() {
		return Arrays.asList(HBO_DIGITAL, HBO_MAX_DIGITAL);
	}

	public static final List<PacoteEnum> getPacotesOpcionais() {
		return Arrays.asList(COMBATE, PACOTE_ESPORTES, INTERNACIONAL, SEXY_HOT);
	}
}
